package com.yanqu.road.logic.bussiness.activity;

import com.yanqu.road.entity.activity.daomu.config.*;
import com.yanqu.road.entity.activity.daomu.data.DaoMuActivityUserCollectionData;
import com.yanqu.road.entity.activity.daomu.data.DaoMuActivityUserData;
import com.yanqu.road.entity.activity.daomu.data.DaoMuActivityUserOfferRewardData;
import com.yanqu.road.entity.activity.daomu.pvp.DaoMuPvpData;
import com.yanqu.road.entity.activity.daomu.pvp.DaoMuPvpRoomData;
import com.yanqu.road.entity.activity.daomu.pvp.DaoMuPvpUserData;
import com.yanqu.road.entity.activity.xiuxian.data.CrossXiuXianPvpData;
import com.yanqu.road.logic.bussiness.DaoHelper;

import java.util.List;
import java.util.Map;

/**
 * 盗墓笔记
 */
public class DaoMuActivityBusiness {

    /**
     * 关卡配置
     * @param activityId
     * @return
     */
    public static Map<Integer, DaoMuMissionConfig> getDaoMuMissionConfig(int activityId){
        return DaoHelper.getDaoMuConfigDaoImpl().getDaoMuMissionConfig(activityId);
    }

    /**
     * npc配置
     * @param activityId
     * @return
     */
    public static Map<Integer, DaoMuNpcConfig> getDaoMuNpcConfig(int activityId){
        return DaoHelper.getDaoMuConfigDaoImpl().getDaoMuNpcConfig(activityId);
    }

    /**
     * 藏品配置
     * @param activityId
     * @return
     */
    public static Map<Integer, DaoMuCurioConfig> getDaoMuCurioConfig(int activityId){
        return DaoHelper.getDaoMuConfigDaoImpl().getDaoMuCurioConfig(activityId);
    }

    /**
     * 等级配置
     * @param activityId
     * @return
     */
    public static Map<Integer, DaoMuPlayerLevelConfig> getDaoMuPlayerLevelConfig(int activityId){
        return DaoHelper.getDaoMuConfigDaoImpl().getDaoMuPlayerLevelConfig(activityId);
    }

    /**
     * 技能配置
     * @param activityId
     * @return
     */
    public static Map<Integer, DaoMuSkillConfig> getDaoMuSkillConfig(int activityId){
        return DaoHelper.getDaoMuConfigDaoImpl().getDaoMuSkillConfig(activityId);
    }

    /**
     * 开棺宝箱配置
     * @param activityId
     * @return
     */
    public static Map<Integer, DaoMuCrowbarBoxConfig> getDaoMuCrowbarBoxConfig(int activityId){
        return DaoHelper.getDaoMuConfigDaoImpl().getDaoMuCrowbarBoxConfig(activityId);
    }

    /**
     * 开棺宝箱进度配置
     * @param activityId
     * @return
     */
    public static Map<Integer, DaoMuProgressConfig> getDaoMuProgressConfig(int activityId){
        return DaoHelper.getDaoMuConfigDaoImpl().getDaoMuProgressConfig(activityId);
    }

    /**
     * 摸金等级配置
     * @param activityId
     * @return
     */
    public static Map<Integer, DaoMuCaptainConfig> getDaoMuCaptainConfig(int activityId){
        return DaoHelper.getDaoMuConfigDaoImpl().getDaoMuCaptainConfig(activityId);
    }

    /**
     * PVP配置
     * @param activityId
     * @return
     */
    public static Map<Integer, DaoMuPvpConfig> getDaoMuPvpConfig(int activityId){
        return DaoHelper.getDaoMuConfigDaoImpl().getDaoMuPvpConfig(activityId);
    }

    public static Map<Integer, DaoMuPvpSkillConfig> getDaoMuPvpSkillConfig(int activityId) {
        return DaoHelper.getDaoMuConfigDaoImpl().getDaoMuPvpSkillConfig(activityId);
    }

    public static Map<Integer, DaoMuPvpRankConfig> getDaoMuPvpRankConfig(int activityId) {
        return DaoHelper.getDaoMuConfigDaoImpl().getDaoMuPvpRankConfig(activityId);
    }

    /**
     * 玩家数据
     * @param activityId
     * @return
     */
    public static Map<Long, DaoMuActivityUserData> getDaoMuActivityUserData(int activityId){
        return DaoHelper.getDaoMuUserDataDaoImpl().getDaoMuActivityUserData(activityId);
    }

    /**
     * 玩家数据
     * @param activityId
     * @return
     */
    public static DaoMuActivityUserData getDaoMuActivityUserDataInfo(int activityId, long userId){
        return DaoHelper.getDaoMuUserDataDaoImpl().getDaoMuActivityUserDataInfo(activityId, userId);
    }

    /**
     * 玩家藏品数据
     * @param activityId
     * @return
     */
    public static Map<Integer, DaoMuActivityUserCollectionData> getDaoMuActivityUserCollectionData(int activityId, long userId){
        return DaoHelper.getDaoMuUserCollectionDataImpl().getDaoMuActivityUserCollectionData(activityId, userId);
    }

    /**
     * 玩家关卡悬赏数据
     * @param activityId
     * @return
     */
    public static Map<Integer, Map<Integer, DaoMuActivityUserOfferRewardData>> getDaoMuActivityUserOfferRewardData(int activityId, long userId){
        return DaoHelper.getDaoMuUserOfferRewardDataImpl().getDaoMuActivityUserOfferRewardData(activityId, userId);
    }

    /**
     * 添加userData
     * @param data
     * @return
     */
    public static boolean addUserData(DaoMuActivityUserData data) {
        return DaoHelper.getDaoMuUserDataDaoImpl().add(data);
    }

    /**
     * 添加userData
     * @param data
     * @return
     */
    public static boolean updateUserData(DaoMuActivityUserData data) {
        return DaoHelper.getDaoMuUserDataDaoImpl().update(data);
    }

    /**
     * 添加collectionData
     * @param data
     * @return
     */
    public static boolean addCollectionData(DaoMuActivityUserCollectionData data) {
        return DaoHelper.getDaoMuUserCollectionDataImpl().add(data);
    }

    /**
     * 更新collectionData
     * @param data
     * @return
     */
    public static boolean updateCollectionData(DaoMuActivityUserCollectionData data) {
        return DaoHelper.getDaoMuUserCollectionDataImpl().update(data);
    }

    /**
     * 添加offerRewardData
     * @param data
     * @return
     */
    public static boolean addOfferRewardData(DaoMuActivityUserOfferRewardData data) {
        return DaoHelper.getDaoMuUserOfferRewardDataImpl().add(data);
    }

    /**
     * 更新offerRewardData
     * @param data
     * @return
     */
    public static boolean updateOfferRewardData(DaoMuActivityUserOfferRewardData data) {
        return DaoHelper.getDaoMuUserOfferRewardDataImpl().update(data);
    }


    public static DaoMuPvpData getDaoMuPvpData(int activityId) {
        return DaoHelper.getDaoMuPvpDataDaoImpl().getDaoMuPvpData(activityId);
    }

    public static boolean addDaoMuPvpData(DaoMuPvpData data) {
        return DaoHelper.getDaoMuPvpDataDaoImpl().add(data);
    }

    public static boolean updateDaoMuPvpData(DaoMuPvpData data) {
        return DaoHelper.getDaoMuPvpDataDaoImpl().update(data);
    }

    public static Map<Integer, DaoMuPvpRoomData> getDaoMuPvpRoomDataMap(int activityId){
        return DaoHelper.getDaoMuPvpRoomDataDaoImpl().getDaoMuPvpRoomDataMap(activityId);
    }

    public static boolean addDaoMuPvpRoomData(DaoMuPvpRoomData data) {
        return DaoHelper.getDaoMuPvpRoomDataDaoImpl().add(data);
    }

    public static boolean updateDaoMuPvpRoomData(DaoMuPvpRoomData data) {
        return DaoHelper.getDaoMuPvpRoomDataDaoImpl().update(data);
    }

    public static Map<Long, DaoMuPvpUserData> getDaoMuPvpUserDataMap(int activityId){
        return DaoHelper.getDaoMuPvpUserDataDaoImpl().getDaoMuPvpUserDataMap(activityId);
    }

    public static boolean addDaoMuPvpUserData(DaoMuPvpUserData data) {
        return DaoHelper.getDaoMuPvpUserDataDaoImpl().add(data);
    }

    public static boolean updateDaoMuPvpUserData(DaoMuPvpUserData data) {
        return DaoHelper.getDaoMuPvpUserDataDaoImpl().update(data);
    }

}
